#define _CRT_SECURE_NO_WARNINGS 1

// 1.release版本的优化观察
// 2.栈区空间，默认是先使用高地址，再使用低地址的，具体看实现

//#include <stdio.h>
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//
//	printf("%p\n", &a);
//	printf("%p\n", &b);
//
//	return 0;
//}

// 函数递归(重要！)
// 每一次函数调用都要申请内存空间（栈区）

// 递归的思想是把一个大型复杂问题转化成一个于原问题相似
// 但规模较小的子问题来求解，直到子问题不能再被拆分，递归就结束了
// 递归的思考方式是把大事化小的过程

// 递：递推 归：回归

// 递归是有限制条件的，当满足这个限制条件的时候，递归便不再继续
// 每次递归调用后越来越接近这个限制条件

// 问题：打印1234的每一位
// 1.打印123的每一位
// 2.打印4

// 每一次函数调用都会开辟一个空间
//#include <stdio.h>
//
//void Print(int num)
//{
//	if (num > 9){
//		Print(num / 10);
//	}
//
//	printf("%d ", num % 10);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//
//	Print(1234);
//
//	return 0;
//}

// 每一次函数调用，都会向内存栈区上申请一块空间
// 这一块空间主要是用来存放函数中的局部变量，和函数调用过程中上下文信息
// 这一块空间一般叫：函数的运行时堆栈，也叫函数栈帧空间

#include <stdio.h>

int main()
{
	int a = 017;
	printf("%d\n", a); // %d的意思是以10进制的形式打印有符号的整数

	int b = 0x17;
	printf("%d\n", b);

	return 0;
}
